package com.xgxf.server.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xgxf.server.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="测试结果查询对象", description="")
public class TestResultDetails extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "产品型号")
    private String type;

    @ApiModelProperty(value = "VIN码")
    private String vin;

    @ApiModelProperty(value = "主观查验")
    @TableField(exist = true)
    private String subjectiveVerification;

    @ApiModelProperty(value = "初检测")
    @TableField(exist = true)
    private String initialTesting;

    @ApiModelProperty(value = "空载检测")
    @TableField(exist = true)
    private String emptyLoadDetection;

    @ApiModelProperty(value = "额载检测")
    @TableField(exist = true)
    private String frontalLoadDetection;

    @ApiModelProperty(value = "超载检测")
    @TableField(exist = true)
    private String overloadDetection;

    @ApiModelProperty(value = "爬坡检测")
    @TableField(exist = true)
    private String climbingDetection;

    @ApiModelProperty(value = "空载起最小作业高度")
    private Double EmptyupMinWorkH;

    @ApiModelProperty(value = "空载起最大作业高度")
    private Double EmptyupMaxWorkH;

    @ApiModelProperty(value = "空载起最小电机控制电压")
    private Double EmptyupMinMotorV;

    @ApiModelProperty(value = "空载起最大电机控制电压")
    private Double EmptyupMaxMotorV;

    @ApiModelProperty(value = "空载起最小压力")
    private Double EmptyupMinP;

    @ApiModelProperty(value = "空载起最大压力")
    private Double EmptyupMaxP;

    @ApiModelProperty(value = "空载起平台偏摆量")
    private Double EmptyupOffset;

    @ApiModelProperty(value = "空载起最大振动量")
    private Double EmptyupMaxVibration;

    @ApiModelProperty(value = "空载起坑洞检测结果")
    private String EmptyupPitcheck;

    @ApiModelProperty(value = "空载起升时间")
    private Double EmptyupLiftT;

    @ApiModelProperty(value = "空载起最小电机电流")
    private Double EmptyupMinMotorA;

    @ApiModelProperty(value = "空载起最大电机电流")
    private Double EmptyupMaxMotorA;

    @ApiModelProperty(value = "空载落下降阀最小电压")
    private Double EmptydownMinValveV;

    @ApiModelProperty(value = "空载落下降阀最大电压")
    private Double EmptydownMaxValveV;

    @ApiModelProperty(value = "空载落最小压力")
    private Double EmptydownMinP;

    @ApiModelProperty(value = "空载落最大压力")
    private Double EmptydownMaxP;

    @ApiModelProperty(value = "空载落安全高度")
    private Double EmptydownSafeH;

    @ApiModelProperty(value = "空载落最大振动量")
    private Double EmptydownMaxVibration;

    @ApiModelProperty(value = "空载落坑洞检测结果")
    private String EmptydownPitcheck;

    @ApiModelProperty(value = "空载下降时间")
    private Double EmptydownLiftT;

    @ApiModelProperty(value = "空载行走最大振动量")
    private Double EmptywalkMaxVibration;

    @ApiModelProperty(value = "额载最小压力")
    private Double RatedUPMinP;

    @ApiModelProperty(value = "额载最大压力")
    private Double RatedUPMaxP;

    @ApiModelProperty(value = "额载下沉量")
    private Double RatedUPSink;

    @ApiModelProperty(value = "额载最大振动量")
    private Double RatedUPMaxVibration;

    @ApiModelProperty(value = "额载起升时间")
    private Double RatedUPLiftT;

    @ApiModelProperty(value = "额载最小电机电流")
    private Double ratedupMinMotorA;

    @ApiModelProperty(value = "额载最大电机电流")
    private Double ratedupMaxMotorA;

    @ApiModelProperty(value = "额载下降时间")
    private Double RateddownLiftT;

    @ApiModelProperty(value = "额载最大振动量")
    private Double RateddownMaxVibration;

    @ApiModelProperty(value = "额载行走最大振动量")
    private Double ratedwalkMaxVibration;

    @ApiModelProperty(value = "额载左转向时间")
    private Double ratedwalkTurnTimeL;

    @ApiModelProperty(value = "额载右转向时间")
    private Double ratedwalkTurnTimeR;

    @ApiModelProperty(value = "行走最大振动量")
    private Double WalkMaxVibration;

    @ApiModelProperty(value = "预留检测项目1")
    private Double WalkMaxLowlowmotorV;

    @ApiModelProperty(value = "预留检测项目2")
    private Double WalkMaxLowhighmotorV;

    @ApiModelProperty(value = "低空低速行驶速度")
    private Double WalkLowLspeed;

    @ApiModelProperty(value = "低空高速行驶速度")
    private Double WalkLowHspeed;

    @ApiModelProperty(value = "高空低速行驶速度")
    private Double WalkHighspeed;

    @ApiModelProperty(value = "低速刹车距离")
    private Double lowbrakingDistance;

    @ApiModelProperty(value = "高速刹车距离")
    private Double HighbrakingDistance;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "剪叉车在线检测时间")
    private Date testTime;

    @ApiModelProperty(value = "在线检测操作员")
    private String OP;

    @ApiModelProperty(value = "在线检测台子的ID")
    private String benchID;

    @ApiModelProperty(value = "剪叉车所用控制器的名称")
    @TableField(exist = false)
    private String controllerName;

    @ApiModelProperty(value = "高空低速行驶速度")
    private Double WalkHighLspeed;

    @ApiModelProperty(value = "高空低速刹车距离")
    private Double HighlowbrakingDistance;
}